home *** CD-ROM | disk | FTP | other *** search
Modula Definition | 1997-10-26 | 3.2 KB | 68 lines |
- (*----------------------------------------------------------------------*
- * *
- * MAGICTOOLS Modula's All purpose GEM Interface Cadre Toolbox *
- * ÿ ÿ ÿ ÿ ÿ *
- *----------------------------------------------------------------------*
- * Version 3.30 02.02.1992 (C)90/91/92 by Peter Hellinger Software *
- *----------------------------------------------------------------------*
- * Dieses Modul ist urheberrechtlich geschtzt. *
- * *
- * Die Verffentlichung des Quelltextes oder Teilen daraus, sowie die *
- * Verbreitung des bersetzten, nicht gelinkten Codes in schriftlicher, *
- * oder maschinenlesbarer Form, insbesondere in Zeitschriften, Mail- *
- * boxen oder anderen Medien bedarf der ausdrcklichen schriftlichen *
- * Einverstndnisserklrung des Autors. *
- * *
- * Die Verbreitung des Moduls als Teil eines gelinkten Programms ist *
- * fr Lizenznehmer ausdrcklich erlaubt! Der Autor behlt sich das *
- * Recht vor, diese Erlaubnis jederzeit und ohne Angaben von Grnden zu *
- * widerrufen. *
- *----------------------------------------------------------------------*)
-
- (*----------------------------------------------------------------------*
- * mtStack Implementiert eine Struktur nach dem LIFO-Prinzip (Last *
- * In, First Out), auch als Keller oder Stack bekannt. Durch die typ- *
- * lose Datenform der zu speichernden Information kann das Modul sehr *
- * flexibel eingesetzt werden. Maximale Speichergre der Information *
- * ist 32kb. *
- *----------------------------------------------------------------------*)
-
- DEFINITION MODULE mtStacks;
-
- FROM MagicSys IMPORT Nil, Null, Bit0, Bit1, Bit2, Bit3, Bit4, Bit5, Bit6,
- Bit7, Bit8, Bit9, Bit10, Bit11, Bit12, Bit13, Bit14,
- Bit15, LOC, Byte, ByteSet, sWORD, sINTEGER, sCARDINAL,
- sBITSET, lINTEGER, lCARDINAL, lWORD, lBITSET;
-
-
-
-
-
- TYPE STACK;
-
- PROCEDURE NewStack (VAR stack: STACK): BOOLEAN;
- (* Generiert einen neuen Stack *)
-
- PROCEDURE DisposeStack (VAR stack: STACK);
- (* Lscht einen Stack, wenn der Stack nicht leer ist, wird er vorher
- * gelscht
- *)
-
- PROCEDURE StackEmpty (stack: STACK): BOOLEAN;
- (* TRUE, wenn der Stack leer ist *)
-
- PROCEDURE StackEntries (stack: STACK): lCARDINAL;
- (* Anzahl der Eintrge im Stack *)
-
- PROCEDURE Push (stack: STACK; info: ARRAY OF LOC): BOOLEAN;
- (* Legt ein Element auf dem Stack ab, FALSE wenn dabei ein Fehler auftritt *)
-
- PROCEDURE Pop (stack: STACK; VAR info: ARRAY OF LOC): BOOLEAN;
- (* Holt ein Element vom Stack. Es wird nur kopiert, wenn die
- * Datenstruktur gleich oder grer als die gespeicherte Struktur ist.
- * FALSE wenn dabei ein Fehler auftritt (info zu klein, Stack leer).
- *)
-
- END mtStacks.
-
-